# 字符串加法和乘法
print('-------------------字符串加法和乘法-------------------')
a = 'a'
b = 'b'
ab = a + b
print('字符串的加法：a + b =', ab)
print('字符串的乘法：a * 3 =', a*3)


# 字符串检索
print('-------------------字符串检索-------------------')
pi = '3.14159265358'
c = pi.find('.14')
print('.14是pi中的第', c+1, '个字符' )
d = pi.index('926')
print('926是pi中的第', d+1, '个字符' )
start1 = pi.startswith('15')
start2 = pi.startswith('3')
print("""pi是以'15'开头的吗？""", start1)
print("""pi是以'3'开头的吗？""", start2)
pi_num = 3.1415926
print('pi保留两位小数', "{:.2f}".format(pi_num))


# 更新与删除
print('-------------------更新与删除-------------------')
stock = '600000 浦发银行 2020/10/23 12.88'
print('打印股票数据\n', stock)
stock.replace('浦发银行', '民生银行')
print('!字符串不可更改,使用replace后股票名称不变\n', stock)
stock1 = stock.replace('浦发银行', '民生银行')
print('新建字符串后使用replace，股票名称改变\n', stock1)
split_stock = stock.split(' ')
print('将股票数据拆分\n', split_stock)
join_stock = ' '.join(split_stock)
print('合并股票数据\n', join_stock)
strip_stock = stock.strip('600000')
print('删除代码', strip_stock)



# 格式化输出
print('-------------------格式化输出-------------------')
# 通过字典设置参数
stock_dict = {"NO": "600000", "名称": "浦发银行"}
print("股票代码:{NO}, 股票名称:{名称}".format(**stock_dict)) # 字典两个星号


# 通过列表索引设置参数
stock_list0 = ['2020/10/25', '12.88']
stock_list1 = ['2020/10/28', '12.99']
print("日期：{0[0]}, 收盘价：{0[1]}".format(stock_list0, stock_list1))  # 0代表这里实际要引用formal中的第一个对象，也就是stock_list0
print("日期：{1[0]}, 收盘价：{1[1]}".format(stock_list0, stock_list1))  # 1代表这里实际要引用formal中的第二个对象，也就是stock_list1


print("股票代码：{NO}, 股票名称：{name}, 日期：{date}, 收盘价：{close}".format(NO="600000", name="浦发银行", date="2020/10/23", close="12.88"))


# 文件操作
try:
    f1 = open(r'C:\Users\zx702\Desktop\text1.txt', 'r', encoding='utf-8') # 读取文件
    print(f1.read())    # 有文件就读取文件内容
    f1.close()
except FileNotFoundError:
    f2 = open(r'C:\Users\zx702\Desktop\text1.txt', 'w', encoding='utf-8')  # 没有文件，覆盖并写入文件
    f2.write('覆盖写入\n')
    f2.close()
# 文件测试结果：第一次运行，没有文件，新建并覆盖写入；第二次运行，有文件时，读取打印结果

f3 = open(r'C:\Users\zx702\Desktop\text1.txt', 'a', encoding='utf-8')  # 追加写入文件
f3.write('追加写入\n')
f3.close()

# 文件测试结果：第一次运行，没有文件，新建并覆盖写入；第二次运行，有文件时，读取“覆盖写入”打印，然后再写入“追加写入”（本次不打印，下次会打印）
